package com.todo.member.iface.backend.response;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;

/**
 * @author azhebuxing
 * @date 2025/2/12 19:52
 * @description
 */
@Data
@Schema(title = "会员详细信息", description = "会员详细信息")
public class MemberInfoDetailResp {

    @Schema(title = "主键id", description = "主键id")
    private Long id;

    @Schema(title = "用户ID", description = "用户ID")
    private Long userId;

    @Schema(title = "用户等级", description = "用户等级")
    private String level;

    @Schema(title = "当前成长值", description = "当前成长值")
    private Integer growthCount;

    @Schema(title = "当前积分", description = "当前积分")
    private Integer pointsCount;

    @Schema(title = "当前奖励金", description = "当前奖励金")
    private Integer bonusCount;

    @Schema(title = "VIP信息", description = "VIP信息")
    private VIPInfoResp vipInfoResp;

    @Schema(title = "佩戴奖章信息", description = "佩戴奖章信息")
    private MedalInfoResp medalInfoResp;

    @Data
    public static class VIPInfoResp {

        @Schema(title = "名称", description = "名称")
        private String name;

        @Schema(title = "code", description = "code")
        private String vipCode;

        @Schema(title = "描述", description = "描述")
        private String desc;

        @Schema(title = "类型", description = "类型 铁、银、金、黑")
        private Integer vipType;

        @Schema(title = "VIP过期时间", description = "VIP过期时间")
        private Date vipExpiredTime;
    }

    @Data
    public static class MedalInfoResp {

        @Schema(title = "称号code", description = "称号code")
        private String medalCode;

        @Schema(title = "标题", description = "标题")
        private String title;

        @Schema(title = "描述", description = "描述")
        private String desc;

        @Schema(title = "称号分类", description = "称号分类")
        private Integer medalClassify;

        @Schema(title = "佩戴展示图片", description = "佩戴展示图片")
        private String carryDisplayImg;
    }

}
